<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>08 对象的介绍</title>
</head>
<body>
    <h1 style="text-align: center;">08 对象的介绍</h1>
</body>
<script>
    /* 
        需求：存储商品的数据
            * 商品id
            * 商品标题
            * 价格
            * 参数
            * 店铺
            * 是否有优惠
           
        对象:
            * 声明
                * 字面量    var liangge = { 属性 : 属性值, 属性 : 属性值};  推荐
                * 构造函数  var haoge = new Object();
            * 操作
                * 
                * 删
                * 查：读键名和键值
                    * for in ：可以遍历对象、数组、字符串
                * 改

    */

    // 字面量方式： json数据的属性名和属性值都必须双引号
    var liangge = {
        age: 18,
        ard: '梅州',
        gender: '男',
        like: '女'
    }

    console.log(liangge);

    // 构造函数
    var haoge = new Object();
    haoge.name = '嘉豪';
    haoge.age = 18;
    haoge.like = '女';
    console.log(haoge);

    // 读取属性值：通过属性名获取属性值； 属性 == 键  属性值 == 键值  ；键值对      对象名.属性名 == 拿到对应的属性值
    console.log(liangge.age);
    var like2 = liangge.like;
    console.log('like2' + like2);
    var num = 'age';
    console.log(liangge.num); // 找叫做num的属性  undefined
    console.log(liangge['num']); // 找叫做num的属性  undefined
    console.log(liangge[num]); // 18

    // 遍历对象
    for (var key in liangge) {
        // 遇到变量名一定不能用点获取属性值，要用方括号(重点)
        console.log(liangge[key]);
    }

    // 增
    liangge.tel = '13013134649';
    console.log(liangge);

    // 改
    liangge.age = 20;
    console.log(liangge);

    // 删
    liangge.ard = ''; // 清空属性值，都是属性名还在
    console.log(liangge);
    delete liangge.ard; // 删除属性
    console.log(liangge);

</script>
</html>